From b31df5785dc4bcfea253796a6fd8743df4a2db28 Mon Sep 17 00:00:00 2001 From: Ewan Mellor Date: Tue, 27 Feb 2007 13:58:40 +0000 Subject: [PATCH] Added SXP pretty-printer. Signed-off-by: Ewan Mellor --- tools/misc/sxp-pretty | 45 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 tools/misc/sxp-pretty diff --git a/tools/misc/sxp-pretty b/tools/misc/sxp-pretty new file mode 100644 index 0000000000..4b8eaed335 --- /dev/null +++ b/tools/misc/sxp-pretty @@ -0,0 +1,45 @@ +#!/usr/bin/env python +# -*- mode: python; -*- +#============================================================================ +# This library is free software; you can redistribute it and/or +# modify it under the terms of version 2.1 of the GNU Lesser General Public +# License as published by the Free Software Foundation. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +#============================================================================ +# Copyright (c) 2007 XenSource Inc. +#============================================================================ + + +import commands +import os.path +import pprint +import sys + +result = commands.getstatusoutput(os.path.join(os.path.dirname(sys.argv[0]), + 'xen-python-path')) +if result[0] != 0: + print >>sys.stderr, result[1] + sys.exit(1) + +sys.path.append(result[1]) + +import xen.xend.sxp as sxp + +def main(): + if len(sys.argv) == 1 or sys.argv[1] in ['', '-']: + s = sxp.parse(sys.stdin) + else: + s = sxp.parse(open(sys.argv[1])) + + pprint.pprint(s) + +if __name__ == '__main__': + sys.exit(main()) -- 2.30.2